entry: Make progress node invisible when appropriate
authorMatthias Clasen <mclasen@redhat.com>
Fri, 4 Mar 2016 13:01:02 +0000 (08:01 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 4 Mar 2016 13:04:45 +0000 (08:04 -0500)
We were failing to do that, leading to progress not disappearing
anymore after it was initially shown, in the gtk3-widget-factory
entry progress example.

gtk/gtkentry.c

index 983eb8c38c5229d7fc8be513a9b0a10e29566582..a2ec505cd06e49ae2b52de754a073d4ca4d84832 100644 (file)
@@ -10547,7 +10547,6 @@ gtk_entry_set_progress_fraction (GtkEntry *entry,
   gtk_entry_stop_pulse_mode (entry);
 
   gtk_entry_ensure_progress_gadget (entry);
-  gtk_css_gadget_set_visible (private->progress_gadget, TRUE);
 
   fraction = CLAMP (fraction, 0.0, 1.0);
   private->progress_fraction = fraction;
@@ -10555,6 +10554,8 @@ gtk_entry_set_progress_fraction (GtkEntry *entry,
 
   if (fraction != old_fraction)
     {
+      gtk_css_gadget_set_visible (private->progress_gadget, fraction > 0);
+
       g_object_notify_by_pspec (G_OBJECT (entry), entry_props[PROP_PROGRESS_FRACTION]);
       gtk_widget_queue_allocate (widget);
     }